import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { BarChartDirective } from './charts/barChart.directive';
import { BenchmarkChartDirective } from './charts/benchmarkChart.directive';
import { BulletChartDirective } from './charts/bulletChart.directive';
import { DistributionChartDirective } from './charts/distributionChart.directive';
import { ExposureChartDirective } from './charts/exposureChart.directive';
import { IssueChartDirective } from './charts/issueChart.directive';
import { MapChartDirective } from './charts/mapChart.directive';
import { ScatterChartDirective } from './charts/scatterChart.directive';
import { AmChartsService, AmChartsModule } from '@amcharts/amcharts3-angular';
import { LinearChartDirective } from './charts/linearChart.directive';
import { IntervalChartDirective } from './charts/intervalChart.directive';
import { ChartSliderDirective } from './charts/chartSlider.directive';
import { WeightChartDirective } from './charts/weightChart.directive';
import { IncidentScatterChartDirective } from './charts/incident-scatterChart.directive';

/**
 * Charts module. Contains all chart directives
 *
 * Author: Sorin Spiru
 * Date: 13.01.2018
 */
@NgModule({
    providers:[AmChartsService],
    imports:[
        CommonModule,
        AmChartsModule
    ],
    declarations: [
        BarChartDirective,
        BenchmarkChartDirective,
        BulletChartDirective,
        IntervalChartDirective,
        DistributionChartDirective,
        ExposureChartDirective,
        IssueChartDirective,
        MapChartDirective,
        ScatterChartDirective,
        LinearChartDirective,
        ChartSliderDirective,
        WeightChartDirective,
        IncidentScatterChartDirective
    ],
    exports:[
        BarChartDirective,
        BenchmarkChartDirective,
        BulletChartDirective,
        DistributionChartDirective,
        ExposureChartDirective,
        IssueChartDirective,
        MapChartDirective,
        ScatterChartDirective,
        LinearChartDirective,
        IntervalChartDirective,
        ChartSliderDirective,
        WeightChartDirective,
        IncidentScatterChartDirective
    ]
})
export class ChartsModule { }
